feat(staged): render hashtag badges in timeline rows and fix badge overflow#625
feat(staged): render hashtag badges in timeline rows and fix badge overflow#625
Conversation
…erflow Extract renderHashtagTokens into shared hashtagItems.ts utility and use it in BranchTimeline to render #type:id tokens as inline badges in timeline row titles (especially visible for active session prompts). Add overflow: hidden to human-bubble to prevent badges from extending outside chat message containers. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 61c6ce7011
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| const branchId = branch.id; | ||
| const projectId = branch.projectId; | ||
| let stale = false; | ||
| buildBranchHashtagItems(branchId, projectId).then((items) => { |
There was a problem hiding this comment.
Recompute hashtag items from refreshed timeline state
This effect builds hashtagItems via a separate async fetch, but hashtagItems is never updated in loadTimeline() (the source of truth for live row data), so badge labels can become stale or fall back to raw IDs after new commits/notes/reviews arrive until the card remounts. It also introduces an extra timeline/project-notes request path per card instead of reusing already-loaded timeline data, which can noticeably increase load/revalidation work in branch lists.
Useful? React with 👍 / 👎.
Summary
renderHashtagTokensandhasHashtagTokenshelpers fromSessionModalintohashtagItems.tsso they can be reused across components#type:idhashtag badges inline inBranchTimeline/TimelineRowtitles via pre-rendered HTML (titleHtmlprop)SessionModalby addingoverflow: hiddento the message text container.hashtag-badgestyles scoped to.timeline-titlefor consistent badge appearanceTest plan
#type:idtokens in titles🤖 Generated with Claude Code